home *** CD-ROM | disk | FTP | other *** search
- REM ZBasic PrintDemo
- REM By Dave Kelly
- REM ©1986 by MacTutor
- WINDOW OFF
- WINDOW #1,"ZBasic printing",(50,50)-(450,300),3
- W1=WINDOW(2)-1:W2=WINDOW(3)-1
- DEFDBL INT P:DEF TAB 32
- MENU 1,0,1,"File"
- MENU 1,1,0,"Print to screen"
- MENU 1,2,1,"Print to printer"
- MENU 1,3,1,"Page Setup"
- MENU 1,4,1,"Job Setup"
- MENU 1,5,0,"-"
- MENU 1,6,1,"Clear Screen"
- MENU 1,7,1,"Quit"
- ON DIALOG GOSUB "Dialogselection"
- DIALOG ON
- ON MENU GOSUB "Menuselection"
- MENU ON
- "Loop":
- GOTO "Loop"
- "Dialogselection":
- THEEVENT=DIALOG(0)
- IF THEEVENT<>5 THEN RETURN
- RETURN
- "Menuselection":
- MENUNUMBER=MENU(0)
- MENUITEM=MENU(1)
- MENU OFF:MENU:DIALOG OFF
- ON MENUITEM GOSUB "Printscr","Printptr","Page","Job","dummy","Clrscr","Quit"
- MENU ON:DIALOG OFF
- RETURN
- "dummy":
- RETURN
- "Clrscr":
- WINDOW PICTURE #1,0
- CLS:RETURN
- "Printscr":
- COORDINATE WINDOW
- ROUTE 0
- PICTURE ON
- GOSUB "Your print routine"
- PRINT@(X,19) "Parameters printed to screen may be in error."
- BOX 0,0 TO W1,W2
- PICTURE OFF, Pic&
- PICTURE,Pic&
- WINDOW PICTURE #1,Pic&
- RETURN
- "Printptr":
- DEF LPRINT:CLS
- IF PRCANCEL<>0 THEN RETURN
- P=PEEK LONG(PRHANDLE)
- COORDINATE PEEK WORD(P+28),PEEK WORD(P+26)
- ROUTE 128
- GOSUB "Your print routine"
- BOX 0,0 TO PEEK WORD (P+28)-1,PEEK WORD(P+26)-1
- CLEAR LPRINT
- ROUTE 0
- MENU 1,1,1
- RETURN
- "Job":
- DEF LPRINT
- MENU 1,1,1
- RETURN
- "Page":
- DEF PAGE
- MENU 1,1,1
- RETURN
- "Your print routine":
- X=5
- PRINT@(X,5) "Print Manager version",PEEK WORD(P)
- PRINT@(X,6) "Driver Info (What's that?)",PEEK WORD(P+2)
- PRINT@(X,7) "Vertical resolution",PEEK WORD(P+4)
- PRINT@(X,8) "Horizontal resolution",PEEK WORD(P+6)
- PRINT@(X,9) "Page Rectangle",PEEK WORD(P+8);PEEK WORD(P+10);PEEK WORD(P+12);PEEK WORD(P+14)
- PRINT@(X,10) "Paper Rectangle",PEEK WORD(P+16);PEEK WORD(P+18);PEEK WORD(P+20);PEEK WORD(P+22)
- PRINT@(X,11) "Paper height,width",PEEK WORD(P+26);",";PEEK WORD (P+28)
- PRINT@(X,12) "Printer port (ERROR!)",PEEK WORD(P+30)
- PRINT@(X,13) "Printer type (ERROR!)",PEEK WORD (P+32)
- PRINT@(X,14) "First page",PEEK WORD(P+62)
- PRINT@(X,15) "Last page",PEEK WORD(P+64)
- PRINT@(X,16) "# of copies..",PEEK WORD(P+66)
- RETURN
- "Quit":
- KILL PICTURE Pic&
- END
-